package sicnu.cs.aps.common.util;

import org.apache.coyote.RequestInfo;
import org.springframework.web.multipart.MultipartFile;
import sicnu.cs.aps.common.ResultInfo;
import sicnu.cs.aps.common.ResultInfoUtil;

/**
 * @author lucker
 * @date 2022/5/29 10:22
 */
public class FileCheckUtil {

    /**
     * 检查文件类型是否合法（合法类型有：doc|docx|xls|xlsx|zip|pdf|png|jpg|jpeg|rar|PDF|DOC|DOCX|txt)
     *
     * @param file MultipartFile类
     * @return Boolean
     */
    public static Boolean checkType(MultipartFile file) {
        return file.getOriginalFilename().matches("^[\\s\\S]+\\.+(doc|docx|xls|xlsx|zip|pdf|png|jpg|jpeg|rar|PDF|DOC|DOCX|txt)$");
    }

    /**
     * 检查文件大小是否合法(默认大小10M)
     *
     * @param file MultipartFile类
     * @return Boolean
     */
    public static Boolean checkSize(MultipartFile file) {
        return ((float) file.getSize() / 1048576 < 10);
    }


    /**
     * 检查文件大小是否合法
     *
     * @param file MultipartFile类
     * @param size 规定文件大小，单位 MB
     * @return Boolean
     */
    public static Boolean checkSize(MultipartFile file, Integer size) {
        return ((float) file.getSize() / 1048576 > size);
    }
}
